package javachongkao.基础入门;
import java.util.Scanner;
//7-2 jmu-Java-01入门-取数字
//本题目要求读入若干个代表整数的字符串，然后将其转化为整数。
//
//如果该数＞＝10000且＜＝20000，则依次输出其对应的二进制字符串、八进制字符串、十六进制字符串。
//
//否则将字符串中的每个数字抽取出来，然后将所有数字加总求和。
//
//提示：参考jdk文档的Integer,
public class Main4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()) {
            String input = scanner.nextLine().trim();
            if (input.isEmpty()) continue;
            try {
                int num = Integer.parseInt(input);
                if (num >= 10000 && num <= 20000) {
                    // 输出三种进制表示
                    System.out.println(
                            Integer.toBinaryString(num) + "," +
                                    Integer.toOctalString(num) + "," +
                                    Integer.toHexString(num)
                    );
                } else {
                    // 提取数字并求和
                    processDigits(input);
                }
            } catch (NumberFormatException e) {
                // 非数字字符串处理（题目保证输入合法，可不处理）
            }
        }
    }
    private static void processDigits(String s) {
        int sum = 0;
        StringBuilder output = new StringBuilder();

        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (Character.isDigit(c)) {
                int digit = Character.getNumericValue(c);
                output.append(digit).append(" ");
                sum += digit;
            }
        }
        if (output.length() > 0) {
            output.append(sum);
            System.out.println(output.toString().trim());
        }
    }
}
